package main

/**
定时器 中止与重置
NewTimer Stop Reset

思考：如果提前完成定时需要处理的业务，或者需要调整时间，怎么办？
根据一些随机数模拟关闭和重置
*/

import (
	"fmt"
	"math/rand"
	"time"
)

var flag bool = isStopTimer()

func main() {

	fmt.Println("当前时间：", time.Now())
	timer := time.NewTimer(time.Second * 3)

	if flag {
		timer.Stop()
	} else {
		t := <-timer.C
		fmt.Println(t)
	}

}

func isStopTimer() bool {
	rand.Seed(time.Now().UnixNano())
	tempInt := rand.Intn(2) + 18
	if tempInt >= 18 {
		fmt.Println("已经找到大于18，结束Timer")
		return true
	} else {
		return false
	}
}
